package com.leon.learnenginespace.drools.dao;


import com.leon.learnenginespace.drools.pojo.TDrlFieldConfig;
import com.leon.learnenginespace.drools.pojo.TDrlNSceneRuleBindConfig;
import com.leon.learnenginespace.drools.pojo.TDrlRuleConfi;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @author : songxinyu
 * @description :
 * @program : msfDrools
 * @date : 2023-03-30
 */
@Mapper
public interface DictionaryMapper {

    /**
     * 词条查询
     * @param
     * @return List<TDrlFieldConfig>
     */
    List<TDrlFieldConfig> queryTdrlField(TDrlFieldConfig tDrlFieldConfig);
    /**
     * 上下架操作
     * @param sceneRuleBindConfig
     * @return Integer
     */
    Integer updateStatus(TDrlNSceneRuleBindConfig sceneRuleBindConfig);

    /**
     * 根据场景规则绑定ID查找规则ID
     * @param sceneRuleBindConfig
     * @return
     */
    String queryRuleConfigId(TDrlNSceneRuleBindConfig sceneRuleBindConfig);
    /**
     * 更新规则表的上下架状态
     * @param sceneRuleBindConfig
     * @return
     */
    Integer updateRuleStatus(TDrlNSceneRuleBindConfig sceneRuleBindConfig);
    /**
     * 判断路径是否重复
     * @param tDrlFieldConfig
     * @return String
     */
    String tDrlFieldConfigselects(TDrlFieldConfig tDrlFieldConfig);

    /**
     * 词条新增
     * @param tDrlFieldConfig
     * @return int
     */
    int tDrlFieldConfigCreat(TDrlFieldConfig tDrlFieldConfig);

    /**
     * 词条修改
     * @param tDrlFieldConfig
     * @return int
     */
    int tDrlFieldConfigUpdate(TDrlFieldConfig tDrlFieldConfig);

    /**
     * type查询类型
     * @param dataTypeCode
     * @return String
     */
    String tdrlDictionariestype(@Param("dataTypeCode") String dataTypeCode);

    /**
     * 生成非空规则
     * @param tDrlRuleConfi
     * @return Integer
     */
    Integer creatTdrs( TDrlRuleConfi tDrlRuleConfi);

    /**
     * 已绑定规则查询
     * @param tDrlNSceneRuleBindConfig
     * @return List
     */
    List<TDrlNSceneRuleBindConfig> RD012QueryTDrlSceneRuleBindConfig(TDrlNSceneRuleBindConfig tDrlNSceneRuleBindConfig);

    /**
     * 已绑定规则查询
     * @param sceneRuleBindConfig
     * @return String
     */
    String queryContent(TDrlNSceneRuleBindConfig sceneRuleBindConfig);

    /**
     * 已绑定规则查询
     * @param sceneRuleBindConfig
     * @return String
     */
    String querySceneCode(TDrlNSceneRuleBindConfig sceneRuleBindConfig);
    /**
     * 更新Version表
     * @param SceneCode
     * @return
     */
    int updateNVersion(String SceneCode);

    int queryByFiledPathAndId(@Param("id")int id,@Param("Xpath")String path);
}
